Image Feature Extraction in OpenCV: Keypoints and Description Vectors¶

In the previous post, you learned some basic feature extraction algorithms in OpenCV. The features are extracted in the form of classifying pixels. These indeed abstract the features from images because you do not need to consider the different color channels of each pixel, but to consider a single value. In this post, you will learn some other feature extract algorithms that can tell you about the image more concisely.

After completing this tutorial, you will know:

What are keypoints in an image What are the common algorithms available in OpenCV for extracting keypoints

Overview¶

This post is divided into two parts; they are:

  • Keypoint Detection with SIFT and SURF in OpenCV
  • Keypoint Detection using ORB in OpenCV

Prerequisites¶

For this tutorial, we assume that you are already familiar with:

  • Reading and displaying images using OpenCV

Keypoint Detection with SIFT and SURF in OpenCV¶

Scale-Invariant Feature Transform (SIFT) and Speeded-Up Robust Features (SURF) are powerful algorithms for detecting and describing local features in images. They are named scale-invariant and robust because, compared to Harris Corner Detection, for example, its result is expectable even after some change to the image.

The SIFT algorithm applies Gaussian blur to the image and computes the difference in multiple scales. Intuitively, such a difference will be zero if your entire image is a single flat color. Hence, this algorithm is called keypoint detection, which identifies a place in the image with the most significant change in pixel values, such as corners.

The SIFT algorithm derives certain “orientation” values for each keypoint and outputs a vector representing the histogram of the orientation values.

It is found quite slow to run SIFT algorithm. Hence, there is a speed-up version, SURF. Describing the SIFT and SURF algorithms in detail would be lengthy, but luckily, you do not need to understand too much to use it with OpenCV.

Let’s look at an example using the following image:

  • Image

Similar to the previous post, SIFT and SURF algorithms assume a grayscale image. This time, you need to create a detector first and apply it to the image:

In [2]:
import cv2

# Load the image and convert to grayscale
img = cv2.imread('image.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# Initialize ORB detector
orb = cv2.ORB_create()

# Detect keypoints and compute descriptors using ORB
keypoints_orb, descriptors_orb = orb.detectAndCompute(gray, None)

# Optional: Draw keypoints on the image
img_with_keypoints = cv2.drawKeypoints(img, keypoints_orb, None, color=(0, 255, 0), flags=cv2.DrawMatchesFlags_DEFAULT)

# Display the result
cv2.imshow('ORB Keypoints', img_with_keypoints)
cv2.waitKey(0)
cv2.destroyAllWindows()

NOTE: You may find difficulties in running the above code in your OpenCV installation. To make this run, you may need to compile your own OpenCV module from scratch. It is because SIFT and SURF were patented, so OpenCV considered them “non-free”. Since the SIFT patent has already expired (SURF is still in effect), you may find SIFT works fine if you download a newer version of OpenCV.

The output of the SIFT or SURF algorithm are a list of keypoints and a numpy array of descriptors. The descriptors array is Nx128 for N keypoints, each represented by a vector of length 128. Each keypoint is an object with several attributes, such as the orientation angle.

There can be a lot of keypoints detected by default, because this helps one of the best uses for detected keypoints — to find associations between distorted images.

To reduce the number of detected keypoint in the output, you can set a higher “contrast threshold” and lower “edge threshold” (default to be 0.03 and 10 respectively) in SIFT or increase the “Hessian threshold” (default 100) in SURF. These can be adjusted at the detector object using sift.setContrastThreshold(0.03), sift.setEdgeThreshold(10), and surf.setHessianThreshold(100) respectively.

To draw the keypoints on the image, you can use the cv2.drawKeypoints() function and apply the list of all keypoints to it. The complete code, using only the SIFT algorithm and setting a very high threshold to keep only a few keypoints, is as follows:

In [3]:
import cv2

# Load the image and convery to grayscale
img = cv2.imread('image.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# Initialize SIFT detector
sift = cv2.SIFT_create()
sift.setContrastThreshold(0.25)
sift.setEdgeThreshold(5)

# Detect key points and compute descriptors
keypoints, descriptors = sift.detectAndCompute(img, None)
for x in keypoints:
    print("({:.2f},{:.2f}) = size {:.2f} angle {:.2f}".format(x.pt[0], x.pt[1], x.size, x.angle))

img_kp = cv2.drawKeypoints(img, keypoints, None, flags=cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)
cv2.imshow("Keypoints", img_kp)
cv2.waitKey(0)
cv2.destroyAllWindows()
(64.78,573.01) = size 2.95 angle 123.23
(64.78,573.01) = size 2.95 angle 312.19
(74.51,3277.18) = size 88.97 angle 278.15
(79.25,442.93) = size 3.45 angle 92.58
(79.25,442.93) = size 3.45 angle 126.43
(79.25,442.93) = size 3.45 angle 199.41
(79.25,442.93) = size 3.45 angle 316.34
(171.89,1822.09) = size 12.29 angle 87.67
(215.01,755.13) = size 3.55 angle 224.11
(221.71,733.33) = size 3.51 angle 197.93
(248.79,52.10) = size 5.23 angle 78.12
(308.98,495.70) = size 2.22 angle 68.11
(308.98,495.70) = size 2.22 angle 286.23
(356.05,793.33) = size 2.10 angle 100.33
(365.25,3068.69) = size 3.15 angle 137.90
(371.91,834.34) = size 3.29 angle 328.77
(376.29,532.06) = size 3.28 angle 168.09
(376.29,532.06) = size 3.28 angle 288.99
(376.62,505.89) = size 1.95 angle 104.26
(376.62,505.89) = size 1.95 angle 217.73
(376.62,505.89) = size 1.95 angle 351.27
(395.64,456.99) = size 1.85 angle 89.80
(395.64,456.99) = size 1.85 angle 267.69
(400.38,2924.11) = size 2.41 angle 51.39
(400.38,2924.11) = size 2.41 angle 219.31
(410.19,758.52) = size 1.95 angle 56.09
(410.19,758.52) = size 1.95 angle 177.88
(425.82,441.77) = size 2.22 angle 21.38
(426.02,3001.29) = size 3.87 angle 330.28
(428.19,499.34) = size 2.55 angle 140.28
(428.19,499.34) = size 2.55 angle 348.09
(490.58,3692.18) = size 2.17 angle 76.22
(490.58,3692.18) = size 2.17 angle 151.31
(490.58,3692.18) = size 2.17 angle 279.78
(496.23,460.58) = size 2.18 angle 197.14
(520.96,623.73) = size 2.38 angle 176.15
(520.96,623.73) = size 2.38 angle 352.53
(546.25,2620.51) = size 4.31 angle 179.69
(547.79,2452.23) = size 2.23 angle 63.14
(547.79,2452.23) = size 2.23 angle 85.93
(550.11,2315.84) = size 3.44 angle 98.47
(551.39,2609.78) = size 2.18 angle 61.06
(551.39,2609.78) = size 2.18 angle 268.08
(552.10,2374.14) = size 2.03 angle 256.56
(552.63,1624.33) = size 3.00 angle 181.78
(557.59,1604.31) = size 2.30 angle 253.56
(560.15,1382.57) = size 1.99 angle 3.30
(560.15,1382.57) = size 1.99 angle 272.40
(561.88,1334.79) = size 2.08 angle 285.41
(562.13,1330.34) = size 4.15 angle 127.05
(562.33,1459.17) = size 2.08 angle 177.67
(562.38,1190.99) = size 3.01 angle 91.80
(562.38,1190.99) = size 3.01 angle 317.37
(562.43,1469.88) = size 1.93 angle 277.86
(563.09,1987.97) = size 2.23 angle 71.08
(563.21,1689.75) = size 2.35 angle 190.64
(563.21,1689.75) = size 2.35 angle 319.98
(564.34,1392.49) = size 1.84 angle 270.48
(564.40,1994.51) = size 2.28 angle 101.66
(564.40,1994.51) = size 2.28 angle 312.34
(565.00,2414.57) = size 3.70 angle 320.56
(565.72,1229.43) = size 1.84 angle 342.29
(565.94,1320.95) = size 2.45 angle 247.30
(576.05,2001.95) = size 4.38 angle 193.33
(580.93,2117.41) = size 2.20 angle 78.41
(580.93,2117.41) = size 2.20 angle 282.01
(581.62,2555.04) = size 3.31 angle 74.17
(581.62,2555.04) = size 3.31 angle 227.36
(585.73,2429.41) = size 4.13 angle 184.12
(588.08,3344.61) = size 2.32 angle 78.35
(588.08,3344.61) = size 2.32 angle 261.45
(610.98,1996.96) = size 2.76 angle 113.78
(610.98,1996.96) = size 2.76 angle 298.28
(611.90,2113.85) = size 2.47 angle 57.90
(611.90,2113.85) = size 2.47 angle 108.44
(619.45,2513.46) = size 2.72 angle 287.67
(620.44,2521.88) = size 3.60 angle 207.65
(620.50,2521.68) = size 3.46 angle 217.39
(620.50,2521.68) = size 3.46 angle 338.59
(626.52,976.47) = size 1.95 angle 350.92
(633.74,2335.38) = size 2.27 angle 187.48
(637.35,2277.83) = size 5.72 angle 5.53
(637.35,2277.83) = size 5.72 angle 159.47
(641.78,1483.37) = size 2.47 angle 328.13
(642.38,2187.84) = size 1.90 angle 45.61
(642.47,2196.13) = size 2.12 angle 60.82
(642.47,2196.13) = size 2.12 angle 212.82
(646.36,1273.00) = size 2.34 angle 229.05
(646.36,1273.00) = size 2.34 angle 357.20
(647.25,983.44) = size 4.98 angle 6.61
(647.25,983.44) = size 4.98 angle 87.30
(647.25,983.44) = size 4.98 angle 171.57
(658.53,907.19) = size 2.71 angle 348.03
(665.30,1108.45) = size 1.84 angle 88.81
(667.07,1217.09) = size 2.92 angle 275.45
(669.94,1189.55) = size 3.05 angle 107.12
(669.94,1189.55) = size 3.05 angle 311.13
(674.71,2193.36) = size 1.87 angle 155.67
(676.47,835.44) = size 1.88 angle 0.28
(676.47,835.44) = size 1.88 angle 75.77
(676.47,835.44) = size 1.88 angle 171.66
(676.47,835.44) = size 1.88 angle 297.06
(677.00,2258.56) = size 3.07 angle 358.71
(679.61,2268.58) = size 3.38 angle 191.70
(679.61,2268.58) = size 3.38 angle 333.14
(681.73,1066.90) = size 2.39 angle 21.55
(681.73,1066.90) = size 2.39 angle 183.15
(691.66,1131.55) = size 2.06 angle 131.24
(691.66,1131.55) = size 2.06 angle 315.37
(692.71,847.73) = size 2.72 angle 141.27
(692.71,847.73) = size 2.72 angle 295.63
(692.85,1080.20) = size 2.05 angle 270.87
(705.48,2210.80) = size 1.90 angle 86.76
(723.53,1502.11) = size 3.00 angle 87.97
(723.53,1502.11) = size 3.00 angle 267.44
(729.97,2360.42) = size 4.26 angle 208.20
(731.61,2190.36) = size 1.99 angle 83.60
(731.61,2190.36) = size 1.99 angle 257.32
(732.59,1986.70) = size 3.83 angle 18.89
(732.59,1986.70) = size 3.83 angle 37.44
(732.59,1986.70) = size 3.83 angle 183.25
(733.16,1702.89) = size 1.89 angle 21.40
(733.16,1702.89) = size 1.89 angle 172.84
(735.85,2439.80) = size 2.18 angle 72.33
(746.76,2201.48) = size 3.32 angle 46.56
(754.10,2433.71) = size 2.58 angle 188.79
(785.48,444.46) = size 4.21 angle 160.29
(785.48,444.46) = size 4.21 angle 189.99
(790.24,2213.65) = size 3.44 angle 280.68
(793.00,1892.37) = size 2.06 angle 119.50
(793.00,1892.37) = size 2.06 angle 290.67
(798.07,2424.46) = size 3.14 angle 85.50
(806.97,450.42) = size 2.88 angle 90.10
(810.07,2709.78) = size 2.47 angle 19.10
(810.07,2709.78) = size 2.47 angle 249.29
(811.05,3645.87) = size 1.95 angle 261.41
(815.39,2916.37) = size 2.04 angle 76.11
(817.25,1436.37) = size 3.24 angle 100.16
(817.25,1436.37) = size 3.24 angle 302.51
(818.07,2259.52) = size 3.54 angle 90.89
(818.07,2259.52) = size 3.54 angle 275.93
(819.21,2288.15) = size 3.06 angle 296.33
(823.35,2259.07) = size 3.06 angle 273.22
(826.15,516.31) = size 1.92 angle 274.92
(827.66,589.11) = size 2.87 angle 286.98
(829.08,2278.77) = size 2.29 angle 78.39
(829.08,2278.77) = size 2.29 angle 217.87
(830.89,2190.87) = size 1.88 angle 68.70
(836.09,2123.88) = size 3.40 angle 84.53
(836.09,2123.88) = size 3.40 angle 208.07
(836.09,2123.88) = size 3.40 angle 329.31
(837.21,500.60) = size 2.40 angle 193.97
(837.62,2952.28) = size 2.97 angle 69.58
(849.16,1631.89) = size 2.75 angle 176.92
(852.71,2571.55) = size 3.10 angle 20.15
(852.71,2571.55) = size 3.10 angle 144.01
(853.29,2260.54) = size 2.33 angle 2.41
(853.29,2260.54) = size 2.33 angle 164.02
(856.93,2600.32) = size 3.03 angle 263.69
(857.55,1120.79) = size 2.42 angle 126.42
(857.55,1120.79) = size 2.42 angle 336.23
(865.12,531.68) = size 1.91 angle 122.40
(865.12,531.68) = size 1.91 angle 146.17
(865.53,926.45) = size 1.89 angle 279.40
(866.74,2293.36) = size 2.04 angle 13.36
(866.74,2293.36) = size 2.04 angle 160.50
(870.75,2124.08) = size 6.27 angle 169.30
(870.75,2124.08) = size 6.27 angle 331.88
(875.44,2569.33) = size 2.40 angle 84.92
(875.44,2569.33) = size 2.40 angle 291.78
(882.47,1533.16) = size 3.93 angle 111.68
(882.83,1791.53) = size 2.46 angle 270.58
(882.94,2299.35) = size 1.96 angle 81.07
(882.94,2299.35) = size 1.96 angle 323.42
(889.86,2666.32) = size 2.34 angle 67.48
(890.38,2211.07) = size 1.83 angle 179.91
(890.38,2211.07) = size 1.83 angle 351.97
(891.40,2131.91) = size 5.54 angle 109.97
(891.40,2131.91) = size 5.54 angle 146.59
(891.40,2131.91) = size 5.54 angle 175.15
(891.40,2131.91) = size 5.54 angle 246.45
(893.60,2271.38) = size 4.80 angle 207.32
(906.98,1356.41) = size 2.94 angle 256.41
(909.63,2184.57) = size 2.76 angle 117.62
(909.63,2184.57) = size 2.76 angle 165.03
(910.20,1144.59) = size 2.67 angle 201.78
(913.98,1130.90) = size 2.16 angle 102.52
(913.98,1130.90) = size 2.16 angle 153.06
(914.29,2209.45) = size 3.16 angle 198.26
(914.29,2209.45) = size 3.16 angle 348.85
(919.05,1115.51) = size 2.49 angle 92.57
(919.05,1115.51) = size 2.49 angle 268.08
(919.28,2820.44) = size 1.90 angle 58.58
(919.28,2820.44) = size 1.90 angle 274.77
(930.73,300.46) = size 3.84 angle 60.58
(930.73,300.46) = size 3.84 angle 176.51
(931.92,2211.38) = size 1.93 angle 13.45
(931.92,2211.38) = size 1.93 angle 75.17
(931.92,2211.38) = size 1.93 angle 159.25
(933.55,304.53) = size 1.95 angle 163.39
(933.74,505.83) = size 3.36 angle 38.71
(938.37,2587.00) = size 4.23 angle 13.90
(939.85,2492.84) = size 5.52 angle 53.77
(939.85,2492.84) = size 5.52 angle 196.70
(940.71,2809.99) = size 2.33 angle 5.27
(940.71,2809.99) = size 2.33 angle 228.75
(943.41,2283.16) = size 4.31 angle 90.50
(946.35,2736.37) = size 2.59 angle 39.26
(946.35,2736.37) = size 2.59 angle 281.66
(949.75,1252.35) = size 2.58 angle 320.73
(950.54,435.74) = size 2.49 angle 94.79
(950.54,435.74) = size 2.49 angle 253.02
(951.65,2357.63) = size 4.00 angle 75.74
(951.65,2357.63) = size 4.00 angle 198.54
(952.86,2202.83) = size 2.52 angle 80.16
(953.87,496.07) = size 2.77 angle 0.17
(954.30,2873.94) = size 2.25 angle 325.29
(956.55,1464.31) = size 2.05 angle 129.17
(956.55,1464.31) = size 2.05 angle 330.01
(960.09,1081.16) = size 1.98 angle 276.40
(960.32,2880.53) = size 3.14 angle 37.18
(960.35,2201.02) = size 1.97 angle 70.24
(960.35,2201.02) = size 1.97 angle 201.44
(960.35,2201.02) = size 1.97 angle 323.23
(964.41,2804.64) = size 3.03 angle 1.39
(966.40,1492.01) = size 3.24 angle 77.59
(969.66,1574.21) = size 4.14 angle 212.51
(969.66,1574.21) = size 4.14 angle 276.72
(969.78,2732.85) = size 2.38 angle 85.17
(969.78,2732.85) = size 2.38 angle 237.24
(969.78,2732.85) = size 2.38 angle 260.63
(983.08,509.96) = size 2.43 angle 86.76
(983.20,2564.64) = size 5.06 angle 76.37
(984.79,311.75) = size 2.29 angle 110.40
(984.79,311.75) = size 2.29 angle 240.97
(986.60,1634.93) = size 2.20 angle 139.25
(986.60,1634.93) = size 2.20 angle 340.51
(987.13,1482.92) = size 3.24 angle 101.25
(988.28,530.47) = size 2.35 angle 91.84
(988.28,530.47) = size 2.35 angle 284.89
(989.61,503.70) = size 2.07 angle 267.43
(993.83,1571.22) = size 1.94 angle 352.61
(995.75,1507.10) = size 2.27 angle 52.42
(995.75,1507.10) = size 2.27 angle 300.23
(995.75,1507.10) = size 2.27 angle 338.85
(996.07,1475.07) = size 1.84 angle 291.29
(996.98,931.83) = size 2.64 angle 100.15
(998.59,34.43) = size 3.02 angle 152.24
(1000.22,2360.07) = size 2.90 angle 74.08
(1003.46,2289.65) = size 2.72 angle 72.74
(1003.46,2289.65) = size 2.72 angle 268.96
(1005.14,2280.38) = size 3.24 angle 8.10
(1007.29,2192.54) = size 3.24 angle 341.69
(1008.70,3647.78) = size 1.89 angle 79.56
(1027.69,2367.24) = size 1.94 angle 87.14
(1027.69,2367.24) = size 1.94 angle 269.15
(1027.69,2367.24) = size 1.94 angle 306.70
(1036.07,2203.75) = size 5.08 angle 74.12
(1036.07,2203.75) = size 5.08 angle 244.26
(1040.77,567.40) = size 3.05 angle 93.61
(1041.37,1628.51) = size 3.07 angle 12.49
(1041.37,1628.51) = size 3.07 angle 181.10
(1051.10,1570.49) = size 2.08 angle 109.98
(1051.10,1570.49) = size 2.08 angle 214.21
(1051.10,1570.49) = size 2.08 angle 286.89
(1056.87,2812.74) = size 2.45 angle 180.08
(1056.87,2812.74) = size 2.45 angle 272.93
(1061.17,2427.17) = size 2.70 angle 36.05
(1061.17,2427.17) = size 2.70 angle 182.33
(1061.17,2427.17) = size 2.70 angle 216.03
(1062.56,2414.09) = size 4.78 angle 84.91
(1062.60,3028.79) = size 2.48 angle 271.96
(1062.60,3028.79) = size 2.48 angle 314.08
(1064.53,2733.01) = size 1.87 angle 255.29
(1066.28,2199.42) = size 2.58 angle 125.55
(1066.28,2199.42) = size 2.58 angle 287.17
(1068.74,2142.92) = size 3.94 angle 61.78
(1068.74,2142.92) = size 3.94 angle 184.75
(1068.74,2142.92) = size 3.94 angle 242.26
(1080.03,1912.97) = size 2.07 angle 181.18
(1080.03,1912.97) = size 2.07 angle 340.81
(1084.29,2567.17) = size 2.41 angle 250.93
(1085.50,3579.29) = size 1.98 angle 101.56
(1085.50,3579.29) = size 1.98 angle 272.52
(1085.84,2143.88) = size 2.04 angle 44.11
(1085.84,2143.88) = size 2.04 angle 250.53
(1085.84,2143.88) = size 2.04 angle 327.49
(1089.52,1064.84) = size 2.08 angle 7.52
(1089.52,1064.84) = size 2.08 angle 203.63
(1092.45,648.32) = size 2.37 angle 22.47
(1103.82,2918.89) = size 2.08 angle 4.12
(1106.52,2725.01) = size 1.88 angle 180.76
(1106.52,2725.01) = size 1.88 angle 356.75
(1110.02,732.17) = size 3.19 angle 6.51
(1110.02,732.17) = size 3.19 angle 176.44
(1110.45,2334.48) = size 2.71 angle 359.06
(1111.03,2410.84) = size 3.09 angle 80.69
(1111.03,2410.84) = size 3.09 angle 147.11
(1111.03,2410.84) = size 3.09 angle 343.24
(1113.06,2796.88) = size 1.91 angle 95.44
(1113.06,2813.05) = size 2.18 angle 230.63
(1118.46,2787.30) = size 2.57 angle 33.36
(1118.46,2787.30) = size 2.57 angle 191.84
(1125.43,3678.94) = size 2.47 angle 86.08
(1125.43,3678.94) = size 2.47 angle 275.07
(1131.40,2891.60) = size 1.96 angle 20.55
(1131.40,2891.60) = size 1.96 angle 201.91
(1135.39,2556.09) = size 1.86 angle 95.49
(1135.39,2556.09) = size 1.86 angle 254.66
(1135.39,2556.09) = size 1.86 angle 357.81
(1143.53,2594.35) = size 2.92 angle 114.86
(1143.53,2594.35) = size 2.92 angle 314.42
(1154.67,2864.93) = size 3.82 angle 22.42
(1154.67,2864.93) = size 3.82 angle 46.55
(1159.82,2811.07) = size 2.64 angle 7.56
(1159.97,628.00) = size 2.62 angle 124.85
(1160.63,495.27) = size 3.07 angle 30.09
(1160.63,495.27) = size 3.07 angle 141.76
(1160.63,495.27) = size 3.07 angle 177.39
(1166.34,1971.80) = size 5.94 angle 34.78
(1166.34,1971.80) = size 5.94 angle 209.96
(1169.01,849.56) = size 2.28 angle 264.40
(1169.41,2890.20) = size 2.82 angle 71.36
(1171.98,917.51) = size 2.65 angle 89.19
(1171.98,917.51) = size 2.65 angle 279.08
(1171.98,917.51) = size 2.65 angle 317.77
(1171.98,917.51) = size 2.65 angle 355.85
(1179.98,2489.75) = size 6.01 angle 76.40
(1179.98,2489.75) = size 6.01 angle 118.08
(1179.98,2489.75) = size 6.01 angle 226.58
(1181.37,2272.87) = size 5.86 angle 91.65
(1183.87,3628.13) = size 2.01 angle 101.79
(1183.87,3628.13) = size 2.01 angle 273.70
(1184.52,2443.74) = size 3.71 angle 309.16
(1186.23,2599.88) = size 2.60 angle 18.04
(1186.23,2599.88) = size 2.60 angle 200.39
(1189.83,1262.09) = size 2.36 angle 351.80
(1192.98,518.49) = size 2.30 angle 89.51
(1192.98,518.49) = size 2.30 angle 269.10
(1193.68,2616.10) = size 3.13 angle 90.78
(1193.68,2616.10) = size 3.13 angle 286.44
(1201.61,2265.28) = size 3.13 angle 88.61
(1206.10,3686.89) = size 2.33 angle 88.79
(1206.10,3686.89) = size 2.33 angle 341.82
(1210.83,2867.64) = size 1.96 angle 94.22
(1210.83,2867.64) = size 1.96 angle 267.93
(1212.15,2353.02) = size 4.08 angle 13.57
(1213.50,2215.23) = size 3.12 angle 104.86
(1213.50,2215.23) = size 3.12 angle 249.98
(1215.50,2122.84) = size 2.36 angle 188.79
(1215.50,2122.84) = size 2.36 angle 358.01
(1215.90,2933.30) = size 3.02 angle 98.71
(1221.38,597.89) = size 3.10 angle 39.80
(1221.38,597.89) = size 3.10 angle 68.32
(1221.38,597.89) = size 3.10 angle 276.56
(1221.65,2301.68) = size 3.60 angle 106.43
(1221.65,2301.68) = size 3.60 angle 274.81
(1222.12,2777.48) = size 4.34 angle 274.18
(1222.29,506.70) = size 1.87 angle 66.87
(1222.42,3651.49) = size 1.82 angle 207.80
(1222.42,3651.49) = size 1.82 angle 344.06
(1223.59,766.72) = size 2.59 angle 31.27
(1223.59,766.72) = size 2.59 angle 168.23
(1224.32,2526.03) = size 3.09 angle 248.63
(1224.32,2526.03) = size 3.09 angle 349.63
(1224.71,920.24) = size 4.76 angle 178.01
(1225.16,1973.38) = size 2.40 angle 124.62
(1225.16,1973.38) = size 2.40 angle 165.13
(1225.16,1973.38) = size 2.40 angle 315.87
(1226.38,2077.14) = size 2.55 angle 259.99
(1226.56,390.23) = size 2.76 angle 226.08
(1226.56,390.23) = size 2.76 angle 276.98
(1226.59,2957.16) = size 2.05 angle 48.17
(1226.59,2957.16) = size 2.05 angle 223.28
(1230.48,3622.67) = size 1.90 angle 92.54
(1232.73,2061.61) = size 3.30 angle 92.85
(1232.81,2054.01) = size 2.92 angle 21.50
(1232.81,2054.01) = size 2.92 angle 266.79
(1239.92,2961.77) = size 3.36 angle 230.19
(1240.03,2041.45) = size 2.21 angle 79.53
(1243.16,2816.02) = size 2.82 angle 126.46
(1243.16,2816.02) = size 2.82 angle 267.02
(1248.72,2339.42) = size 2.94 angle 89.26
(1252.14,2502.40) = size 1.82 angle 80.91
(1252.14,2502.40) = size 1.82 angle 277.92
(1252.59,2334.63) = size 1.98 angle 73.39
(1256.71,971.60) = size 2.31 angle 94.28
(1260.59,2370.27) = size 3.99 angle 308.00
(1264.06,2426.02) = size 2.69 angle 354.97
(1267.41,2151.19) = size 1.97 angle 310.44
(1271.01,2850.64) = size 3.31 angle 282.18
(1276.16,1198.52) = size 2.19 angle 8.14
(1276.16,1198.52) = size 2.19 angle 181.94
(1278.42,2435.26) = size 5.93 angle 72.34
(1278.42,2435.26) = size 5.93 angle 215.62
(1278.42,2435.26) = size 5.93 angle 254.25
(1278.64,2815.13) = size 2.14 angle 138.13
(1279.08,2578.10) = size 1.94 angle 48.43
(1279.08,2578.10) = size 1.94 angle 82.99
(1279.08,2578.10) = size 1.94 angle 161.23
(1281.40,2812.28) = size 3.36 angle 19.30
(1281.40,2812.28) = size 3.36 angle 137.07
(1281.42,2493.89) = size 1.91 angle 86.40
(1282.38,2521.55) = size 3.09 angle 90.76
(1283.63,1053.47) = size 3.21 angle 349.14
(1286.58,445.21) = size 2.17 angle 37.31
(1286.58,445.21) = size 2.17 angle 207.94
(1289.04,2425.10) = size 2.50 angle 13.11
(1290.01,2195.93) = size 2.58 angle 82.48
(1292.37,1183.40) = size 3.25 angle 73.32
(1292.37,1183.40) = size 3.25 angle 252.29
(1294.09,1146.34) = size 1.97 angle 284.32
(1300.13,1758.25) = size 2.20 angle 119.93
(1300.13,1758.25) = size 2.20 angle 315.54
(1302.40,2594.54) = size 2.52 angle 63.11
(1303.68,1890.62) = size 2.09 angle 229.42
(1304.35,2573.47) = size 2.47 angle 78.54
(1305.42,2586.98) = size 2.45 angle 37.04
(1305.42,2586.98) = size 2.45 angle 149.37
(1305.93,2734.65) = size 2.77 angle 29.50
(1305.93,2734.65) = size 2.77 angle 113.20
(1306.29,734.65) = size 2.38 angle 55.84
(1306.29,734.65) = size 2.38 angle 294.24
(1306.97,469.98) = size 2.54 angle 83.67
(1308.37,2955.54) = size 2.10 angle 279.09
(1312.42,1482.59) = size 1.90 angle 100.72
(1315.59,2421.18) = size 2.10 angle 86.51
(1315.59,2421.18) = size 2.10 angle 274.03
(1317.00,2936.34) = size 2.17 angle 7.47
(1317.00,2936.34) = size 2.17 angle 191.43
(1317.16,2153.10) = size 3.23 angle 319.50
(1317.55,2251.26) = size 4.43 angle 79.78
(1317.55,2251.26) = size 4.43 angle 221.23
(1317.55,2251.26) = size 4.43 angle 312.90
(1319.67,2810.38) = size 1.94 angle 203.04
(1322.01,2434.64) = size 2.18 angle 111.43
(1322.01,2434.64) = size 2.18 angle 267.66
(1322.01,2434.64) = size 2.18 angle 338.88
(1322.33,2951.67) = size 2.42 angle 206.88
(1322.33,2951.67) = size 2.42 angle 345.76
(1324.72,3602.96) = size 1.90 angle 88.74
(1326.60,2630.79) = size 1.93 angle 79.97
(1326.60,2630.79) = size 1.93 angle 263.76
(1332.39,2748.73) = size 2.01 angle 265.07
(1334.88,2368.33) = size 2.07 angle 80.26
(1338.98,2770.15) = size 1.86 angle 29.17
(1338.98,2770.15) = size 1.86 angle 255.31
(1341.21,2503.65) = size 2.63 angle 99.64
(1341.21,2503.65) = size 2.63 angle 179.63
(1341.21,2503.65) = size 2.63 angle 209.54
(1341.21,2503.65) = size 2.63 angle 330.15
(1346.50,1200.12) = size 1.94 angle 303.75
(1349.06,2648.05) = size 3.05 angle 102.80
(1349.06,2648.05) = size 3.05 angle 327.77
(1361.98,2642.23) = size 4.14 angle 152.33
(1361.98,2642.23) = size 4.14 angle 344.18
(1364.18,2216.87) = size 2.89 angle 148.57
(1364.18,2216.87) = size 2.89 angle 317.56
(1369.37,3582.33) = size 1.93 angle 230.43
(1370.89,2284.59) = size 3.55 angle 288.10
(1373.80,2270.17) = size 5.88 angle 45.40
(1375.41,2787.67) = size 1.97 angle 90.36
(1375.41,2787.67) = size 1.97 angle 118.85
(1375.41,2787.67) = size 1.97 angle 269.53
(1375.95,2747.54) = size 1.87 angle 239.52
(1377.40,2709.02) = size 3.32 angle 180.37
(1377.40,2709.02) = size 3.32 angle 354.74
(1381.37,776.28) = size 2.96 angle 51.51
(1384.45,1219.18) = size 2.01 angle 338.53
(1384.98,1633.46) = size 2.39 angle 68.41
(1387.83,2589.19) = size 3.92 angle 70.08
(1387.83,2589.19) = size 3.92 angle 269.87
(1390.25,1836.50) = size 2.91 angle 234.89
(1390.93,2727.36) = size 4.24 angle 69.54
(1390.93,2727.36) = size 4.24 angle 272.84
(1392.68,1548.56) = size 3.88 angle 97.64
(1392.68,1548.56) = size 3.88 angle 290.73
(1394.03,3034.90) = size 2.19 angle 2.80
(1394.03,3034.90) = size 2.19 angle 87.30
(1394.03,3034.90) = size 2.19 angle 223.12
(1394.48,1842.15) = size 2.48 angle 266.70
(1397.41,2451.57) = size 2.55 angle 15.53
(1397.41,2451.57) = size 2.55 angle 183.72
(1415.04,462.75) = size 2.26 angle 103.70
(1420.51,1573.31) = size 5.14 angle 12.65
(1420.51,1573.31) = size 5.14 angle 192.17
(1422.50,1288.97) = size 3.69 angle 359.69
(1426.12,2058.85) = size 2.72 angle 54.68
(1426.12,2058.85) = size 2.72 angle 190.99
(1426.12,2058.85) = size 2.72 angle 262.85
(1426.92,2129.71) = size 2.12 angle 103.87
(1427.69,2276.91) = size 3.86 angle 51.51
(1427.69,2276.91) = size 3.86 angle 80.62
(1427.69,2276.91) = size 3.86 angle 267.70
(1430.36,802.44) = size 2.29 angle 268.43
(1431.83,1632.19) = size 4.05 angle 125.74
(1431.83,1632.19) = size 4.05 angle 268.17
(1434.36,2495.40) = size 5.46 angle 237.10
(1439.13,2287.97) = size 2.65 angle 96.26
(1440.46,2189.83) = size 5.31 angle 171.37
(1442.71,2595.10) = size 3.65 angle 138.73
(1442.71,2595.10) = size 3.65 angle 349.96
(1449.46,695.73) = size 2.47 angle 293.96
(1449.65,771.83) = size 2.17 angle 305.98
(1450.78,592.41) = size 2.27 angle 299.99
(1453.94,2419.92) = size 3.42 angle 76.10
(1454.70,2475.75) = size 1.82 angle 272.40
(1455.65,2707.81) = size 1.82 angle 97.52
(1459.89,2128.38) = size 3.00 angle 15.53
(1460.60,1857.77) = size 4.41 angle 72.14
(1460.60,1857.77) = size 4.41 angle 232.07
(1465.03,2432.11) = size 2.12 angle 180.49
(1465.03,2432.11) = size 2.12 angle 347.60
(1469.32,439.47) = size 2.94 angle 112.06
(1469.32,439.47) = size 2.94 angle 261.41
(1469.62,2869.08) = size 2.10 angle 26.68
(1471.54,735.12) = size 2.06 angle 93.68
(1471.54,735.12) = size 2.06 angle 278.06
(1475.99,655.74) = size 3.06 angle 321.21
(1478.84,2144.72) = size 2.52 angle 280.07
(1485.00,3686.28) = size 1.96 angle 242.49
(1486.00,2340.46) = size 5.05 angle 82.29
(1486.00,2340.46) = size 5.05 angle 233.97
(1490.05,2149.09) = size 3.40 angle 282.56
(1491.63,2873.57) = size 3.73 angle 22.52
(1491.63,2873.57) = size 3.73 angle 72.14
(1498.55,2211.66) = size 2.32 angle 188.86
(1499.81,1558.06) = size 3.77 angle 120.18
(1499.81,1558.06) = size 3.77 angle 283.74
(1500.05,2136.89) = size 1.87 angle 91.80
(1500.05,2136.89) = size 1.87 angle 269.96
(1504.82,2059.22) = size 4.67 angle 288.04
(1507.00,2734.80) = size 4.84 angle 6.37
(1507.00,2734.80) = size 4.84 angle 189.06
(1513.07,3497.69) = size 1.90 angle 262.72
(1514.16,665.70) = size 2.34 angle 271.98
(1514.96,2061.32) = size 5.87 angle 105.58
(1514.96,2061.32) = size 5.87 angle 271.60
(1515.99,2275.25) = size 1.84 angle 90.02
(1518.64,2443.08) = size 2.67 angle 144.14
(1518.64,2443.08) = size 2.67 angle 342.78
(1519.14,2724.60) = size 2.57 angle 82.17
(1519.63,2203.29) = size 2.22 angle 82.02
(1519.99,2516.23) = size 2.31 angle 209.06
(1520.13,2038.00) = size 4.39 angle 118.06
(1520.13,2038.00) = size 4.39 angle 245.44
(1521.66,2371.92) = size 2.86 angle 71.51
(1521.66,2371.92) = size 2.86 angle 184.72
(1521.66,2371.92) = size 2.86 angle 304.87
(1524.51,2411.06) = size 3.00 angle 67.50
(1524.51,2411.06) = size 3.00 angle 249.23
(1526.79,2436.77) = size 3.64 angle 349.59
(1526.98,2567.07) = size 2.67 angle 99.76
(1528.33,2939.35) = size 4.14 angle 148.96
(1528.33,2939.35) = size 4.14 angle 245.92
(1528.33,2939.35) = size 4.14 angle 339.12
(1528.35,2192.81) = size 1.96 angle 90.31
(1529.62,2453.73) = size 2.25 angle 127.56
(1529.62,2453.73) = size 2.25 angle 338.23
(1530.32,783.61) = size 2.45 angle 5.50
(1530.32,783.61) = size 2.45 angle 75.29
(1530.32,783.61) = size 2.45 angle 179.69
(1530.32,783.61) = size 2.45 angle 327.59
(1530.43,1575.65) = size 3.49 angle 278.54
(1532.77,2064.58) = size 3.71 angle 110.06
(1532.77,2064.58) = size 3.71 angle 267.86
(1534.72,2147.49) = size 2.99 angle 165.23
(1534.72,2147.49) = size 2.99 angle 292.39
(1536.18,1997.28) = size 1.86 angle 111.52
(1537.85,2492.90) = size 1.81 angle 93.18
(1538.74,2414.64) = size 2.08 angle 14.58
(1538.74,2414.64) = size 2.08 angle 183.06
(1542.11,2855.20) = size 2.56 angle 74.56
(1542.11,2855.20) = size 2.56 angle 230.91
(1544.00,2587.02) = size 2.52 angle 102.21
(1545.16,2951.32) = size 2.71 angle 203.09
(1549.85,2430.16) = size 2.53 angle 193.88
(1549.85,2430.16) = size 2.53 angle 358.55
(1550.78,1272.95) = size 2.50 angle 101.41
(1550.78,1272.95) = size 2.50 angle 267.93
(1551.85,2558.58) = size 1.92 angle 21.82
(1551.85,2558.58) = size 1.92 angle 191.96
(1552.30,2404.65) = size 1.87 angle 98.51
(1552.30,2404.65) = size 1.87 angle 152.41
(1554.60,2154.01) = size 1.86 angle 272.68
(1555.31,2792.89) = size 3.45 angle 13.38
(1557.18,1825.21) = size 2.14 angle 181.64
(1557.18,1825.21) = size 2.14 angle 278.62
(1558.44,2548.51) = size 2.48 angle 88.94
(1562.64,1427.37) = size 3.53 angle 113.42
(1562.64,1427.37) = size 3.53 angle 259.04
(1563.49,1278.47) = size 4.29 angle 289.21
(1581.70,1073.03) = size 1.86 angle 257.58
(1587.14,514.94) = size 2.20 angle 188.54
(1590.60,3603.12) = size 2.13 angle 21.24
(1590.60,3603.12) = size 2.13 angle 105.19
(1594.67,3587.10) = size 1.93 angle 79.57
(1594.67,3587.10) = size 1.93 angle 178.00
(1594.67,3587.10) = size 1.93 angle 303.36
(1599.72,3598.39) = size 2.10 angle 91.73
(1599.72,3598.39) = size 2.10 angle 259.74
(1656.13,921.86) = size 2.00 angle 77.42
(1656.13,921.86) = size 2.00 angle 180.95
(1656.13,921.86) = size 2.00 angle 252.41
(1664.17,2344.08) = size 4.53 angle 6.21
(1664.17,2344.08) = size 4.53 angle 161.61
(1664.17,2344.08) = size 4.53 angle 329.75
(1681.93,451.52) = size 2.30 angle 114.81
(1681.93,451.52) = size 2.30 angle 324.01
(1682.12,1400.24) = size 2.92 angle 101.21
(1686.46,2508.49) = size 3.49 angle 359.95
(1688.98,2691.88) = size 2.81 angle 10.00
(1688.98,2691.88) = size 2.81 angle 241.02
(1695.02,3544.03) = size 2.04 angle 42.79
(1695.02,3544.03) = size 2.04 angle 76.66
(1695.14,3624.66) = size 2.05 angle 92.84
(1696.27,2978.38) = size 2.00 angle 56.38
(1696.27,2978.38) = size 2.00 angle 263.77
(1768.61,444.02) = size 2.82 angle 11.73
(1837.66,313.38) = size 5.11 angle 10.24
(1837.66,313.38) = size 5.11 angle 81.88
(1959.27,733.35) = size 3.43 angle 36.91
(1959.27,733.35) = size 3.43 angle 357.80
(1962.42,714.58) = size 2.60 angle 103.15
(1962.42,714.58) = size 2.60 angle 304.41
(1962.68,2386.45) = size 1.90 angle 22.27
(1962.68,2386.45) = size 1.90 angle 147.15
(1962.68,2386.45) = size 1.90 angle 259.30
(2006.86,2363.69) = size 68.06 angle 89.21
(2013.50,3632.57) = size 1.84 angle 91.97
(2013.50,3632.57) = size 1.84 angle 222.39
(2044.50,284.00) = size 4.76 angle 91.69
(2044.50,284.00) = size 4.76 angle 267.42
(2046.32,3556.57) = size 1.84 angle 262.20
(2053.77,1758.97) = size 10.20 angle 352.27
(2076.25,2155.39) = size 42.16 angle 3.19
(2076.25,2155.39) = size 42.16 angle 144.66
(2076.25,2155.39) = size 42.16 angle 253.67
(2085.57,1701.99) = size 10.59 angle 91.42
(2085.57,1701.99) = size 10.59 angle 263.42
(2094.32,1755.72) = size 10.44 angle 183.45
(2094.32,1755.72) = size 10.44 angle 355.37
(2117.55,369.49) = size 1.83 angle 285.60
(2138.97,2363.43) = size 68.11 angle 88.68
(2176.33,716.15) = size 2.85 angle 193.54
(2176.33,716.15) = size 2.85 angle 248.36
(2179.79,677.62) = size 2.25 angle 28.82
(2183.95,3697.18) = size 2.16 angle 77.17
(2192.50,691.23) = size 2.37 angle 92.44
(2192.50,691.23) = size 2.37 angle 293.05
(2192.81,27.43) = size 2.21 angle 3.59
(2192.81,27.43) = size 2.21 angle 146.23
(2192.81,27.43) = size 2.21 angle 299.18
(2216.04,432.55) = size 2.04 angle 301.54
(2223.76,840.90) = size 4.19 angle 332.49
(2229.76,3389.52) = size 1.89 angle 89.17
(2249.38,324.41) = size 1.81 angle 110.63
(2249.38,324.41) = size 1.81 angle 281.67
(2297.05,862.67) = size 3.78 angle 253.00
(2300.66,27.51) = size 3.75 angle 90.03
(2317.19,687.40) = size 2.21 angle 104.95
(2317.19,687.40) = size 2.21 angle 302.48
(2326.49,705.94) = size 3.97 angle 108.70
(2366.16,1969.26) = size 32.25 angle 22.65
(2366.16,1969.26) = size 32.25 angle 182.03
(2366.16,1969.26) = size 32.25 angle 328.81
(2371.14,351.31) = size 2.12 angle 23.95
(2371.14,351.31) = size 2.12 angle 183.92
(2422.88,503.60) = size 2.41 angle 74.26
(2422.90,2269.50) = size 1.81 angle 3.97
(2428.13,1908.12) = size 2.46 angle 0.77
(2428.13,1908.12) = size 2.46 angle 230.65
(2429.15,1376.08) = size 1.97 angle 342.65
(2432.21,1315.18) = size 1.82 angle 27.17
(2432.21,1315.18) = size 1.82 angle 72.98
(2432.21,1315.18) = size 1.82 angle 353.07
(2435.58,2274.26) = size 3.90 angle 14.99
(2435.58,2274.26) = size 3.90 angle 48.00
(2442.77,3031.53) = size 2.10 angle 354.30
(2445.65,2505.62) = size 2.27 angle 11.39
(2445.65,2505.62) = size 2.27 angle 220.53
(2452.32,2209.67) = size 2.18 angle 327.01
(2454.62,2346.41) = size 2.52 angle 84.83
(2456.49,2513.49) = size 2.27 angle 359.42
(2465.49,2414.94) = size 5.64 angle 69.95
(2468.57,2985.64) = size 3.21 angle 102.38
(2468.71,2981.82) = size 2.36 angle 98.24
(2469.10,2183.57) = size 5.44 angle 65.63
(2469.10,2183.57) = size 5.44 angle 106.19
(2469.10,2183.57) = size 5.44 angle 290.09
(2472.97,2058.46) = size 3.28 angle 180.59
(2472.97,2058.46) = size 3.28 angle 308.23
(2484.82,2270.13) = size 6.88 angle 63.69
(2484.82,2270.13) = size 6.88 angle 242.61
(2498.46,2201.69) = size 2.34 angle 13.41
(2498.46,2201.69) = size 2.34 angle 228.58
(2499.48,2710.03) = size 2.39 angle 61.84
(2503.62,871.07) = size 2.74 angle 312.85
(2505.80,726.15) = size 1.86 angle 99.88
(2519.37,3108.53) = size 3.03 angle 23.98
(2536.32,1497.03) = size 2.80 angle 109.41
(2537.83,1493.43) = size 2.37 angle 107.64
(2537.83,1493.43) = size 2.37 angle 285.52
(2537.87,2211.09) = size 2.16 angle 126.57
(2541.57,2157.47) = size 2.39 angle 161.25
(2546.31,1207.57) = size 1.89 angle 89.47
(2546.31,1207.57) = size 1.89 angle 278.22
(2550.96,564.87) = size 2.24 angle 59.23
(2550.96,564.87) = size 2.24 angle 189.43
(2556.63,2869.50) = size 2.08 angle 91.54
(2557.38,1531.21) = size 2.56 angle 346.24
(2559.38,937.41) = size 4.52 angle 188.39
(2559.38,937.41) = size 4.52 angle 329.59
(2562.68,2889.24) = size 2.39 angle 265.98
(2564.06,1119.32) = size 2.74 angle 87.23
(2564.06,1119.32) = size 2.74 angle 284.71
(2566.82,2821.30) = size 2.12 angle 63.96
(2566.82,2821.30) = size 2.12 angle 270.46
(2569.99,2570.96) = size 2.47 angle 306.93
(2570.25,2580.93) = size 1.90 angle 1.67
(2570.25,2580.93) = size 1.90 angle 112.12
(2570.25,2580.93) = size 1.90 angle 302.61
(2570.91,2151.14) = size 2.78 angle 105.33
(2570.91,2151.14) = size 2.78 angle 291.16
(2574.11,2897.47) = size 2.29 angle 11.87
(2574.11,2897.47) = size 2.29 angle 197.02
(2575.15,2517.79) = size 2.35 angle 28.86
(2575.15,2517.79) = size 2.35 angle 269.02
(2581.71,795.32) = size 2.34 angle 121.99
(2585.40,783.85) = size 5.55 angle 176.52
(2589.29,2364.42) = size 3.03 angle 89.03
(2590.57,2733.09) = size 3.09 angle 7.63
(2590.57,2733.09) = size 3.09 angle 160.68
(2597.22,2819.48) = size 4.47 angle 109.94
(2597.22,2819.48) = size 4.47 angle 213.15
(2597.22,2819.48) = size 4.47 angle 274.45
(2600.58,1517.37) = size 2.23 angle 277.62
(2602.46,3680.94) = size 2.11 angle 278.36
(2603.56,1220.09) = size 2.29 angle 263.85
(2607.81,3619.94) = size 2.17 angle 255.24
(2618.42,1350.50) = size 2.31 angle 105.23
(2618.42,1350.50) = size 2.31 angle 253.42
(2619.86,1597.15) = size 2.13 angle 200.88
(2620.27,2607.27) = size 2.78 angle 86.38
(2620.27,2607.27) = size 2.78 angle 137.55
(2620.27,2607.27) = size 2.78 angle 319.69
(2621.62,2580.14) = size 2.40 angle 48.66
(2621.62,2580.14) = size 2.40 angle 220.98
(2624.04,1280.59) = size 2.20 angle 130.90
(2624.04,1280.59) = size 2.20 angle 195.94
(2624.04,1280.59) = size 2.20 angle 236.25
(2624.04,1280.59) = size 2.20 angle 285.78
(2625.00,2598.33) = size 2.35 angle 7.97
(2625.00,2598.33) = size 2.35 angle 201.73
(2625.00,2598.33) = size 2.35 angle 267.65
(2625.65,2570.67) = size 2.54 angle 10.47
(2625.65,2570.67) = size 2.54 angle 139.31
(2625.65,2570.67) = size 2.54 angle 179.41
(2630.95,1532.62) = size 2.12 angle 69.70
(2635.66,783.28) = size 3.76 angle 260.72
(2644.81,3052.70) = size 4.18 angle 316.74
(2648.52,2860.65) = size 1.93 angle 3.29
(2648.52,2860.65) = size 1.93 angle 16.86
(2648.52,2860.65) = size 1.93 angle 179.06
(2650.97,2132.83) = size 4.45 angle 59.84
(2650.97,2132.83) = size 4.45 angle 194.44
(2650.97,2132.83) = size 4.45 angle 208.47
(2653.95,2113.78) = size 3.61 angle 117.44
(2655.15,2607.35) = size 1.96 angle 58.96
(2655.85,667.48) = size 1.84 angle 192.56
(2655.85,667.48) = size 1.84 angle 341.39
(2657.41,1986.35) = size 2.31 angle 86.79
(2657.41,1986.35) = size 2.31 angle 150.84
(2657.41,1986.35) = size 2.31 angle 349.64
(2658.03,2574.31) = size 4.23 angle 72.16
(2659.00,2975.91) = size 2.41 angle 14.11
(2664.20,2602.73) = size 3.22 angle 96.74
(2664.20,2602.73) = size 3.22 angle 119.63
(2664.20,2602.73) = size 3.22 angle 230.75
(2671.10,2749.86) = size 6.17 angle 235.25
(2676.92,2565.96) = size 4.15 angle 75.80
(2676.92,2565.96) = size 4.15 angle 180.71
(2681.38,2141.26) = size 7.49 angle 88.18
(2683.23,842.14) = size 3.34 angle 257.29
(2684.11,1413.30) = size 2.97 angle 93.35
(2693.01,2818.94) = size 1.95 angle 94.24
(2693.01,2818.94) = size 1.95 angle 194.83
(2693.01,2818.94) = size 1.95 angle 219.71
(2693.01,2818.94) = size 1.95 angle 354.40
(2694.87,2144.83) = size 3.71 angle 84.60
(2694.87,2144.83) = size 3.71 angle 315.22
(2694.98,2810.96) = size 2.18 angle 186.88
(2697.72,2823.55) = size 2.02 angle 92.37
(2704.02,2674.45) = size 3.26 angle 62.13
(2704.65,1726.62) = size 1.84 angle 173.78
(2704.65,1726.62) = size 1.84 angle 312.92
(2705.08,2752.47) = size 2.43 angle 157.98
(2705.08,2752.47) = size 2.43 angle 287.69
(2705.47,2336.84) = size 4.18 angle 100.15
(2705.47,2336.84) = size 4.18 angle 175.99
(2709.53,2811.38) = size 2.80 angle 82.06
(2709.53,2811.38) = size 2.80 angle 256.39
(2710.59,429.88) = size 2.08 angle 100.67
(2710.59,429.88) = size 2.08 angle 162.78
(2710.59,429.88) = size 2.08 angle 277.82
(2713.89,2591.82) = size 2.43 angle 23.17
(2735.46,2254.81) = size 2.23 angle 114.09
(2736.46,1300.23) = size 3.18 angle 181.26
(2740.55,3640.96) = size 1.90 angle 53.46
(2740.55,3640.96) = size 1.90 angle 241.67
(2744.39,685.08) = size 2.09 angle 71.67
(2753.11,429.17) = size 2.11 angle 7.02
(2753.11,429.17) = size 2.11 angle 176.81
(2761.10,839.41) = size 2.35 angle 128.50
(2761.10,839.41) = size 2.35 angle 298.20
(2781.21,961.94) = size 1.89 angle 265.78
(2788.38,3570.98) = size 1.88 angle 270.20
(2788.98,923.43) = size 2.97 angle 142.05
(2788.98,923.43) = size 2.97 angle 273.22
(2789.71,3608.07) = size 2.13 angle 82.35
(2789.71,3608.07) = size 2.13 angle 264.25
(2789.71,3608.07) = size 2.13 angle 311.35
(2824.28,1454.21) = size 1.82 angle 169.57
(2840.18,1734.79) = size 2.38 angle 274.69
(2846.27,2016.23) = size 2.32 angle 81.35
(2868.87,12.92) = size 2.19 angle 183.50
(2868.87,12.92) = size 2.19 angle 354.80
(2878.38,856.77) = size 3.20 angle 80.49
(2889.67,645.00) = size 2.08 angle 282.71
(2894.95,815.32) = size 1.92 angle 193.48
(2912.36,302.36) = size 2.61 angle 174.92
(2912.36,302.36) = size 2.61 angle 319.31
(2926.82,345.87) = size 2.03 angle 98.10
(2926.82,345.87) = size 2.03 angle 272.37
(2927.36,335.25) = size 2.42 angle 95.38
(2953.86,779.03) = size 2.01 angle 344.18
(2959.91,364.27) = size 8.27 angle 153.35
(2959.91,364.27) = size 8.27 angle 345.87
(2979.45,24.85) = size 2.06 angle 90.50
(2979.45,24.85) = size 2.06 angle 305.50
(3021.94,361.74) = size 2.25 angle 85.93
(3021.94,361.74) = size 2.25 angle 281.44
(3021.94,361.74) = size 2.25 angle 328.69
(3022.25,534.44) = size 2.29 angle 270.79
(3071.79,38.28) = size 3.22 angle 18.23
(3077.35,883.02) = size 2.90 angle 268.22
(3082.72,499.60) = size 2.00 angle 270.53
(3096.26,856.28) = size 2.34 angle 258.11
(3148.00,725.11) = size 1.98 angle 17.81
(3148.00,725.11) = size 1.98 angle 186.01
(3150.24,2460.71) = size 77.76 angle 92.47
(3176.20,570.91) = size 2.83 angle 183.46
(3176.20,570.91) = size 2.83 angle 347.59
(3184.45,556.51) = size 2.44 angle 0.69
(3184.45,556.51) = size 2.44 angle 151.70
(3261.43,2461.17) = size 75.56 angle 87.58
(3270.37,532.69) = size 4.97 angle 221.46
(3332.52,36.29) = size 3.78 angle 57.84
(3332.52,36.29) = size 3.78 angle 146.97
(3340.36,383.91) = size 2.60 angle 6.74
(3340.36,383.91) = size 2.60 angle 231.98
(3350.94,732.73) = size 3.63 angle 0.61
(3350.94,732.73) = size 3.63 angle 91.68
(3350.94,732.73) = size 3.63 angle 115.49
(3350.94,732.73) = size 3.63 angle 294.14
(3414.02,447.89) = size 2.64 angle 200.94
(3418.36,310.01) = size 2.65 angle 160.77
(3473.30,1993.04) = size 17.90 angle 98.28
(3473.30,1993.04) = size 17.90 angle 270.95
(3473.45,919.02) = size 2.40 angle 11.04
(3473.45,919.02) = size 2.40 angle 201.76
(3475.63,554.84) = size 2.13 angle 263.97
(3478.58,2428.40) = size 22.21 angle 3.69
(3507.88,716.33) = size 1.99 angle 93.33
(3510.37,678.48) = size 2.00 angle 12.03
(3510.37,678.48) = size 2.00 angle 221.71
(3516.49,3100.11) = size 6.65 angle 85.81
(3580.93,1376.62) = size 2.88 angle 222.52
(3580.98,1435.71) = size 1.94 angle 33.84
(3580.98,1435.71) = size 1.94 angle 61.37
(3580.98,1435.71) = size 1.94 angle 346.35
(3581.59,2196.24) = size 2.16 angle 275.91
(3582.70,1593.88) = size 2.55 angle 258.56
(3583.04,1468.64) = size 2.17 angle 121.66
(3583.04,1468.64) = size 2.17 angle 281.42
(3584.78,1356.40) = size 1.92 angle 48.74
(3584.78,1356.40) = size 1.92 angle 184.42
(3584.78,1356.40) = size 1.92 angle 332.30
(3584.78,1356.40) = size 1.92 angle 357.40
(3590.81,1905.34) = size 2.02 angle 261.89
(3591.91,1662.97) = size 2.59 angle 64.96
(3600.86,1390.45) = size 4.00 angle 218.71
(3600.86,1390.45) = size 4.00 angle 331.78
(3603.10,3016.10) = size 4.82 angle 111.84
(3630.64,2596.30) = size 2.47 angle 304.02
(3659.95,639.24) = size 1.85 angle 271.08
(3674.34,2202.47) = size 2.21 angle 56.76
(3674.34,2202.47) = size 2.21 angle 190.89
(3674.34,2202.47) = size 2.21 angle 272.91
(3695.04,782.57) = size 2.63 angle 167.28
(3695.04,782.57) = size 2.63 angle 271.46
(3695.04,782.57) = size 2.63 angle 306.39
(3696.11,730.89) = size 3.32 angle 290.15
(3719.14,1436.46) = size 2.01 angle 274.84
(3719.72,1718.32) = size 4.21 angle 192.05
(3719.72,1718.32) = size 4.21 angle 269.80
(3719.72,1718.32) = size 4.21 angle 351.89
(3720.27,1353.79) = size 2.96 angle 182.65
(3724.44,586.07) = size 5.44 angle 257.73
(3731.74,2632.20) = size 3.99 angle 22.66
(3739.73,2073.34) = size 5.99 angle 195.48
(3739.73,2073.34) = size 5.99 angle 330.86
(3741.17,1847.91) = size 1.95 angle 134.49
(3745.86,588.83) = size 2.54 angle 42.01
(3745.86,588.83) = size 2.54 angle 210.91
(3752.16,1832.62) = size 2.57 angle 181.47
(3756.35,426.36) = size 1.82 angle 97.37
(3756.35,426.36) = size 1.82 angle 335.82
(3757.24,1633.49) = size 2.97 angle 95.21
(3761.12,1650.00) = size 2.10 angle 275.02
(3763.01,2148.67) = size 5.00 angle 270.70
(3763.81,2675.83) = size 2.11 angle 8.76
(3763.81,2675.83) = size 2.11 angle 91.62
(3763.81,2675.83) = size 2.11 angle 141.30
(3785.32,2668.37) = size 2.72 angle 87.43
(3785.32,2668.37) = size 2.72 angle 136.57
(3785.32,2668.37) = size 2.72 angle 347.30
(3802.87,3358.22) = size 11.06 angle 188.85
(3804.93,2480.88) = size 3.17 angle 124.37
(3804.93,2480.88) = size 3.17 angle 311.04
(3812.07,1147.07) = size 4.24 angle 6.26
(3816.48,1571.79) = size 1.85 angle 35.75
(3816.48,1571.79) = size 1.85 angle 181.62
(3816.60,600.28) = size 1.89 angle 193.00
(3821.75,1138.98) = size 1.82 angle 9.05
(3829.05,2127.86) = size 6.49 angle 65.18
(3829.05,2127.86) = size 6.49 angle 237.86
(3831.22,1541.10) = size 2.39 angle 97.78
(3831.22,1541.10) = size 2.39 angle 260.41
(3833.57,1719.23) = size 2.92 angle 120.33
(3833.57,1719.23) = size 2.92 angle 265.13
(3836.26,2140.13) = size 3.10 angle 69.87
(3836.26,2140.13) = size 3.10 angle 262.30
(3836.35,2341.57) = size 2.39 angle 77.71
(3836.35,2341.57) = size 2.39 angle 336.02
(3838.39,1706.00) = size 2.39 angle 184.93
(3838.52,2416.70) = size 3.79 angle 83.48
(3839.48,2274.98) = size 2.11 angle 91.69
(3855.57,1774.07) = size 2.33 angle 165.21
(3855.57,1774.07) = size 2.33 angle 288.95
(3859.75,2299.66) = size 2.01 angle 256.57
(3864.44,2065.29) = size 2.18 angle 85.30
(3864.44,2065.29) = size 2.18 angle 301.83
(3869.68,2521.76) = size 1.93 angle 102.51
(3871.90,2310.75) = size 2.01 angle 34.49
(3871.90,2310.75) = size 2.01 angle 114.24
(3889.64,529.88) = size 2.43 angle 212.78
(3889.64,529.88) = size 2.43 angle 299.28
(3891.92,1115.81) = size 2.01 angle 14.67
(3899.31,313.89) = size 5.57 angle 265.16
(3901.89,2073.44) = size 2.27 angle 94.37
(3901.89,2073.44) = size 2.27 angle 220.28
(3905.92,2055.27) = size 3.79 angle 284.64
(3907.94,1915.92) = size 3.29 angle 28.20
(3907.94,1915.92) = size 3.29 angle 191.32
(3909.46,1188.38) = size 2.13 angle 181.28
(3917.30,929.71) = size 2.93 angle 172.12
(3917.30,929.71) = size 2.93 angle 282.31
(3917.30,929.71) = size 2.93 angle 323.03
(3918.18,2155.71) = size 2.45 angle 108.38
(3929.11,649.84) = size 2.14 angle 32.96
(3929.11,649.84) = size 2.14 angle 92.12
(3929.13,934.91) = size 2.43 angle 12.19
(3929.13,934.91) = size 2.43 angle 93.45
(3929.13,934.91) = size 2.43 angle 206.39
(3941.91,2948.89) = size 2.53 angle 81.39
(3952.15,2373.67) = size 2.46 angle 169.10
(3954.45,2800.26) = size 2.27 angle 131.06
(3956.49,2069.65) = size 5.11 angle 31.69
(3956.49,2069.65) = size 5.11 angle 214.70
(3958.89,799.99) = size 1.92 angle 168.30
(3962.33,518.27) = size 3.20 angle 299.29
(3971.01,2063.76) = size 2.52 angle 160.74
(3974.16,2751.05) = size 2.27 angle 343.38
(3975.22,310.87) = size 1.91 angle 138.83
(3975.22,310.87) = size 1.91 angle 311.31
(3981.29,2347.83) = size 2.02 angle 80.44
(3981.29,2347.83) = size 2.02 angle 272.88
(3981.80,2808.56) = size 2.72 angle 333.37
(3983.20,2350.82) = size 1.90 angle 284.94
(3985.32,2801.84) = size 2.63 angle 307.82
(3986.03,1503.91) = size 2.59 angle 341.93
(3986.26,2956.84) = size 2.45 angle 120.96
(3997.40,942.58) = size 2.75 angle 124.09
(3997.40,942.58) = size 2.75 angle 323.25
(4000.67,1626.48) = size 3.69 angle 54.60
(4000.67,1626.48) = size 3.69 angle 188.16
(4000.67,1626.48) = size 3.69 angle 284.79
(4002.35,525.81) = size 4.61 angle 178.58
(4002.35,525.81) = size 4.61 angle 300.45
(4006.45,651.81) = size 2.49 angle 88.75
(4006.45,651.81) = size 2.49 angle 266.10
(4012.37,2962.39) = size 1.82 angle 350.63
(4015.94,1365.02) = size 1.99 angle 82.44
(4015.94,1365.02) = size 1.99 angle 268.24
(4027.91,2919.94) = size 3.17 angle 142.09
(4030.09,2362.14) = size 3.20 angle 106.85
(4030.09,2362.14) = size 3.20 angle 274.32
(4030.71,2921.43) = size 1.99 angle 90.05
(4030.71,2921.43) = size 1.99 angle 318.22
(4030.80,430.53) = size 2.44 angle 167.01
(4031.40,2355.54) = size 1.87 angle 97.99
(4033.24,2938.56) = size 2.63 angle 105.24
(4033.24,2938.56) = size 2.63 angle 298.73
(4035.18,2330.69) = size 5.95 angle 105.94
(4036.48,2077.47) = size 2.68 angle 52.31
(4036.48,2077.47) = size 2.68 angle 246.41
(4037.17,2346.76) = size 1.80 angle 66.68
(4044.63,2813.16) = size 2.44 angle 242.56
(4047.93,2220.57) = size 3.40 angle 91.46
(4048.03,1079.20) = size 2.52 angle 200.14
(4051.55,2362.21) = size 3.02 angle 83.81
(4051.55,2362.21) = size 3.02 angle 255.71
(4053.86,2804.66) = size 4.16 angle 106.72
(4057.53,1484.35) = size 2.45 angle 123.44
(4057.53,1484.35) = size 2.45 angle 164.51
(4060.81,1619.25) = size 2.35 angle 72.99
(4061.58,2072.54) = size 2.57 angle 90.45
(4061.58,2072.54) = size 2.57 angle 211.66
(4062.83,307.48) = size 3.49 angle 68.06
(4062.83,307.48) = size 3.49 angle 151.41
(4062.83,307.48) = size 3.49 angle 299.55
(4064.15,2558.34) = size 1.97 angle 56.20
(4064.15,2558.34) = size 1.97 angle 259.16
(4064.96,595.54) = size 4.30 angle 76.85
(4064.96,595.54) = size 4.30 angle 234.72
(4067.91,2074.37) = size 2.04 angle 23.04
(4067.91,2074.37) = size 2.04 angle 55.82
(4071.93,2590.41) = size 2.57 angle 73.82
(4074.90,2127.06) = size 3.29 angle 80.05
(4074.90,2127.06) = size 3.29 angle 308.93
(4075.79,1617.52) = size 2.09 angle 26.54
(4085.06,1625.68) = size 2.70 angle 89.87
(4085.06,1625.68) = size 2.70 angle 258.98
(4089.13,2787.45) = size 3.09 angle 147.77
(4089.13,2787.45) = size 3.09 angle 307.87
(4092.12,2133.71) = size 6.73 angle 83.81
(4105.65,1187.00) = size 3.52 angle 273.39
(4105.65,1187.00) = size 3.52 angle 358.15
(4115.03,468.21) = size 1.93 angle 270.71
(4115.85,2896.75) = size 2.24 angle 179.20
(4125.46,2424.97) = size 4.01 angle 80.42
(4125.46,2424.97) = size 4.01 angle 193.12
(4125.46,2424.97) = size 4.01 angle 216.17
(4125.46,2424.97) = size 4.01 angle 310.18
(4130.13,858.64) = size 2.77 angle 301.91
(4131.50,2953.40) = size 2.34 angle 157.85
(4131.50,2953.40) = size 2.34 angle 335.64
(4139.40,2415.32) = size 1.94 angle 79.67
(4141.41,2289.17) = size 2.24 angle 344.43
(4155.22,2410.43) = size 3.28 angle 154.02
(4162.95,2883.89) = size 1.84 angle 17.77
(4162.95,2883.89) = size 1.84 angle 92.36
(4162.95,2883.89) = size 1.84 angle 174.09
(4162.95,2883.89) = size 1.84 angle 227.87
(4162.95,2883.89) = size 1.84 angle 289.94
(4167.79,2882.33) = size 1.92 angle 98.10
(4167.79,2882.33) = size 1.92 angle 339.40
(4172.52,2962.14) = size 2.10 angle 175.68
(4172.52,2962.14) = size 2.10 angle 339.42
(4198.00,427.90) = size 2.03 angle 40.17
(4199.08,795.63) = size 3.15 angle 212.96
(4202.67,2272.87) = size 2.03 angle 18.96
(4213.70,3613.78) = size 1.95 angle 94.44
(4217.08,1708.13) = size 4.47 angle 46.76
(4217.08,1708.13) = size 4.47 angle 260.45
(4219.82,2266.97) = size 1.81 angle 260.27
(4227.05,454.24) = size 2.20 angle 92.96
(4227.05,454.24) = size 2.20 angle 268.46
(4233.01,2207.82) = size 1.99 angle 104.44
(4233.01,2207.82) = size 1.99 angle 138.69
(4233.01,2207.82) = size 1.99 angle 182.08
(4233.01,2207.82) = size 1.99 angle 333.48
(4241.42,2152.93) = size 2.29 angle 269.87
(4244.05,2423.97) = size 2.25 angle 82.90
(4244.05,2423.97) = size 2.25 angle 287.69
(4244.50,774.37) = size 2.07 angle 89.51
(4245.26,1215.89) = size 3.14 angle 173.63
(4245.26,1215.89) = size 3.14 angle 340.36
(4250.64,1545.36) = size 2.40 angle 176.74
(4251.59,2816.17) = size 3.31 angle 121.85
(4251.59,2816.17) = size 3.31 angle 284.46
(4257.48,1710.74) = size 1.88 angle 275.33
(4257.99,2038.72) = size 1.90 angle 97.08
(4261.72,2383.17) = size 2.04 angle 272.69
(4262.87,2805.04) = size 2.28 angle 120.81
(4262.87,2805.04) = size 2.28 angle 263.90
(4271.17,2809.10) = size 2.40 angle 133.29
(4271.17,2809.10) = size 2.40 angle 302.03
(4274.93,1225.49) = size 1.93 angle 77.71
(4274.93,1225.49) = size 1.93 angle 263.78
(4282.07,2803.85) = size 2.59 angle 183.34
(4297.09,2263.51) = size 5.13 angle 56.42
(4301.62,2795.81) = size 2.10 angle 92.40
(4302.81,2328.83) = size 3.83 angle 92.03
(4308.93,2888.30) = size 2.69 angle 56.76
(4311.37,1154.23) = size 3.51 angle 247.14
(4313.94,2660.85) = size 2.91 angle 45.87
(4313.94,2660.85) = size 2.91 angle 167.97
(4313.94,2660.85) = size 2.91 angle 326.78
(4314.94,596.35) = size 2.47 angle 65.45
(4322.89,1512.22) = size 2.02 angle 73.55
(4322.89,1512.22) = size 2.02 angle 283.54
(4331.83,2819.72) = size 3.35 angle 31.97
(4336.39,2939.92) = size 2.02 angle 356.73
(4359.83,32.97) = size 2.40 angle 169.82
(4360.03,2295.53) = size 1.97 angle 66.90
(4360.29,2085.46) = size 2.51 angle 124.09
(4361.41,2080.68) = size 3.62 angle 322.80
(4366.76,2192.06) = size 2.67 angle 99.27
(4370.36,1970.38) = size 2.04 angle 9.81
(4370.36,1970.38) = size 2.04 angle 135.36
(4370.36,1970.38) = size 2.04 angle 247.22
(4370.88,2797.02) = size 2.45 angle 82.09
(4374.46,2531.13) = size 2.05 angle 266.18
(4383.58,2208.00) = size 2.02 angle 82.65
(4388.82,1194.94) = size 1.94 angle 33.43
(4392.73,1153.99) = size 1.88 angle 100.89
(4392.73,1153.99) = size 1.88 angle 227.27
(4395.79,2533.15) = size 1.92 angle 277.55
(4412.47,2869.96) = size 2.16 angle 111.52
(4412.82,55.24) = size 4.00 angle 93.04
(4425.52,1965.05) = size 2.65 angle 95.61
(4426.79,2666.59) = size 2.07 angle 159.17
(4433.43,1557.19) = size 2.84 angle 93.42
(4433.43,1557.19) = size 2.84 angle 269.87
(4441.60,923.60) = size 2.49 angle 36.27
(4441.60,923.60) = size 2.49 angle 179.49
(4449.56,1336.88) = size 3.21 angle 71.98
(4449.56,1336.88) = size 3.21 angle 139.73
(4449.56,1336.88) = size 3.21 angle 307.87
(4465.47,2890.54) = size 2.42 angle 173.97
(4465.47,2890.54) = size 2.42 angle 341.98
(4467.13,2727.21) = size 2.69 angle 39.39
(4469.65,1084.95) = size 2.44 angle 257.47
(4472.14,2530.07) = size 1.94 angle 74.17
(4478.20,2050.88) = size 3.20 angle 102.84
(4478.20,2050.88) = size 3.20 angle 178.65
(4478.20,2050.88) = size 3.20 angle 239.38
(4478.72,2675.83) = size 3.76 angle 115.20
(4478.72,2675.83) = size 3.76 angle 280.33
(4482.22,2958.51) = size 2.46 angle 263.45
(4490.44,2883.93) = size 3.37 angle 32.98
(4493.71,441.10) = size 4.56 angle 12.13
(4493.71,441.10) = size 4.56 angle 147.66
(4496.20,1563.67) = size 2.86 angle 284.38
(4518.14,924.78) = size 2.66 angle 179.55
(4523.88,2855.79) = size 1.84 angle 88.16
(4523.88,2855.79) = size 1.84 angle 259.14
(4526.15,2561.49) = size 2.62 angle 72.68
(4526.15,2561.49) = size 2.62 angle 267.71
(4530.37,640.32) = size 2.16 angle 87.87
(4558.24,1442.41) = size 2.29 angle 9.04
(4558.24,1442.41) = size 2.29 angle 168.97
(4558.24,1442.41) = size 2.29 angle 211.59
(4559.56,1434.50) = size 1.89 angle 58.99
(4559.56,1434.50) = size 1.89 angle 228.82
(4562.39,2371.77) = size 2.79 angle 165.70
(4576.11,2761.64) = size 1.96 angle 126.25
(4587.72,948.83) = size 1.88 angle 75.47
(4587.72,948.83) = size 1.88 angle 115.95
(4587.72,948.83) = size 1.88 angle 166.24
(4608.07,2568.09) = size 2.22 angle 88.90
(4611.08,2067.52) = size 3.20 angle 84.18
(4611.08,2067.52) = size 3.20 angle 292.40
(4613.83,1428.03) = size 2.84 angle 120.62
(4613.83,1428.03) = size 2.84 angle 162.44
(4613.83,1428.03) = size 2.84 angle 262.54
(4621.56,1425.74) = size 3.44 angle 16.18
(4621.56,1425.74) = size 3.44 angle 214.98
(4624.82,2882.77) = size 1.86 angle 186.97
(4639.59,2027.78) = size 2.03 angle 261.34
(4640.18,2035.42) = size 3.29 angle 174.03
(4641.93,2876.15) = size 10.89 angle 136.03
(4641.93,2876.15) = size 10.89 angle 217.31
(4678.59,799.39) = size 4.52 angle 189.86
(4678.59,799.39) = size 4.52 angle 303.53
(4678.59,799.39) = size 4.52 angle 352.21
(4686.91,844.54) = size 2.71 angle 269.42
(4709.84,2348.42) = size 1.86 angle 121.13
(4709.84,2348.42) = size 1.86 angle 181.14
(4754.96,2985.04) = size 2.39 angle 89.39
(4754.96,2985.04) = size 2.39 angle 267.55
(4755.47,409.31) = size 3.05 angle 312.35
(4772.20,3025.16) = size 2.10 angle 76.92
(4772.20,3025.16) = size 2.10 angle 231.22
(4785.94,724.62) = size 2.00 angle 181.45
(4785.94,724.62) = size 2.00 angle 350.05
(4790.12,3342.99) = size 2.87 angle 85.83
(4790.12,3342.99) = size 2.87 angle 263.58
(4798.17,604.02) = size 2.65 angle 292.25
(4800.35,2995.41) = size 3.11 angle 99.83
(4800.35,2995.41) = size 3.11 angle 252.00
(4819.56,741.57) = size 2.16 angle 179.48
(4819.56,741.57) = size 2.16 angle 351.63
(4824.43,2929.40) = size 1.84 angle 220.04
(4829.42,3343.92) = size 2.57 angle 82.44
(4829.42,3343.92) = size 2.57 angle 272.68
(4850.39,533.30) = size 2.12 angle 91.52
(4850.39,533.30) = size 2.12 angle 287.49
(4889.23,288.11) = size 2.18 angle 54.31
(4934.42,3032.25) = size 2.86 angle 72.02
(4938.05,342.34) = size 1.96 angle 196.65
(4958.59,549.02) = size 2.07 angle 59.66
(4958.59,549.02) = size 2.07 angle 254.12
(4969.76,3015.48) = size 2.54 angle 28.31
(4969.76,3015.48) = size 2.54 angle 187.63
(4970.16,36.93) = size 2.69 angle 56.13
(4970.16,36.93) = size 2.69 angle 172.67
(4970.16,36.93) = size 2.69 angle 251.84
(5026.25,441.60) = size 3.40 angle 91.33
(5026.25,441.60) = size 3.40 angle 206.83
(5026.25,441.60) = size 3.40 angle 358.21
(5049.96,3034.36) = size 2.24 angle 264.58
(5070.06,335.65) = size 2.73 angle 88.95
(5070.06,335.65) = size 2.73 angle 300.95
(5073.34,473.87) = size 1.88 angle 283.16
(5112.42,649.27) = size 4.45 angle 171.92
(5136.96,2965.36) = size 3.44 angle 278.15
(5144.41,869.80) = size 3.03 angle 90.13
(5146.73,329.60) = size 2.77 angle 181.56
(5156.88,533.82) = size 2.07 angle 88.50
(5156.88,533.82) = size 2.07 angle 134.03
(5156.88,533.82) = size 2.07 angle 234.34
(5158.64,584.03) = size 1.88 angle 132.83
(5158.64,584.03) = size 1.88 angle 221.69
(5158.64,584.03) = size 1.88 angle 336.81
(5161.81,407.17) = size 1.99 angle 184.15
(5164.59,2930.28) = size 1.95 angle 69.01
(5177.11,2964.69) = size 2.32 angle 79.31
(5177.11,2964.69) = size 2.32 angle 269.60
(5177.21,2960.93) = size 3.04 angle 78.49
(5194.63,2962.78) = size 2.69 angle 273.99
(5223.94,2983.00) = size 2.04 angle 100.55
(5223.94,2983.00) = size 2.04 angle 268.14
(5232.62,581.75) = size 2.42 angle 11.17
(5232.62,581.75) = size 2.42 angle 147.87
(5239.17,740.60) = size 1.96 angle 159.44
(5239.17,740.60) = size 1.96 angle 287.39
(5253.47,633.03) = size 1.97 angle 180.90
(5253.47,633.03) = size 1.97 angle 271.40
(5258.19,644.06) = size 2.60 angle 208.58
(5316.58,3242.69) = size 2.29 angle 78.01
(5317.93,3265.89) = size 4.03 angle 82.11
(5321.62,634.38) = size 3.06 angle 184.22
(5321.62,634.38) = size 3.06 angle 355.20
(5322.38,3286.10) = size 3.35 angle 82.75
(5343.85,3264.30) = size 2.23 angle 278.47
(5343.96,3242.39) = size 2.25 angle 284.68
(5365.13,3241.64) = size 2.62 angle 77.68
(5388.40,3264.64) = size 2.68 angle 96.11
(5388.40,3264.64) = size 2.68 angle 280.83
(5391.85,740.39) = size 4.71 angle 312.03
(5397.41,3067.38) = size 3.56 angle 71.74
(5397.41,3067.38) = size 3.56 angle 127.87
(5434.11,790.16) = size 2.14 angle 193.81
(5434.11,790.16) = size 2.14 angle 346.16
(5452.14,3286.49) = size 2.80 angle 86.08
(5452.14,3286.49) = size 2.80 angle 295.87
(5477.09,530.23) = size 2.49 angle 285.11
(5500.48,3019.40) = size 5.06 angle 154.51
(5532.28,532.46) = size 2.38 angle 9.18
(5550.12,377.96) = size 3.28 angle 49.65
(5550.12,377.96) = size 3.28 angle 259.99

The image created is as follows:

image.png

The function cv2.drawKeypoints() will not modify your original image, but return a new one. In the picture above, you can see the keypoints drawn as circles proportional to its “size” with a stroke indicating the orientation. There are keypoints on the number “17” on the door as well as on the mail slots. But there are indeed more. From the for loop above, you can see that some keypoints are overlapped because multiple orientation angles are found.

In showing the keypoints on the image, you used the keypoint objects returned. However, you may find the feature vectors stored in descriptors useful if you want to further process the keypoints, such as running a clustering algorithm. But note that you still need the list of keypoints for information, such as the coordinates, to match the feature vectors.

Keypoint Detection using ORB in OpenCV¶

Since the SIFT and SURF algorithms are patented, there is an incentive to develop a free alternative that doesn’t need to be licensed. It is a product of the OpenCV developers themselves.

ORB stands for Oriented FAST and Rotated BRIEF. It is a combination of two other algorithms, FAST and BRIEF with modifications to match the performance of SIFT and SURF. You do not need to understand the algorithm details to use it, and its output is also a list of keypoint objects, as follows:

In [4]:
import cv2

# Load the image and convery to grayscale
img = cv2.imread('image.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# Initialize ORB detector
orb = cv2.ORB_create(30)

# Detect key points and compute descriptors
keypoints, descriptors = orb.detectAndCompute(img, None)
for x in keypoints:
    print("({:.2f},{:.2f}) = size {:.2f} angle {:.2f}".format(
            x.pt[0], x.pt[1], x.size, x.angle))

img_kp = cv2.drawKeypoints(img, keypoints, None,
                           flags=cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)
cv2.imshow("Keypoints", img_kp)
cv2.waitKey(0)
cv2.destroyAllWindows()
(1282.00,2814.00) = size 31.00 angle 190.23
(2998.00,508.00) = size 31.00 angle 256.93
(5365.00,3242.00) = size 31.00 angle 208.56
(564.00,1333.00) = size 31.00 angle 149.49
(3340.00,383.00) = size 31.00 angle 256.94
(4467.00,2728.00) = size 31.00 angle 155.78
(521.00,624.00) = size 31.00 angle 187.87
(1958.40,732.00) = size 37.20 angle 343.19
(4677.60,796.80) = size 37.20 angle 262.41
(4050.00,2361.60) = size 37.20 angle 20.52
(692.40,847.20) = size 37.20 angle 78.66
(3175.20,570.00) = size 37.20 angle 49.92
(3660.48,1389.60) = size 44.64 angle 243.19
(3600.00,1391.04) = size 44.64 angle 299.20
(3350.88,732.96) = size 44.64 angle 27.33
(1006.56,2191.68) = size 44.64 angle 91.81
(2518.56,3107.52) = size 44.64 angle 101.87
(2585.09,781.06) = size 53.57 angle 18.74
(3722.11,585.79) = size 53.57 angle 303.95
(4677.70,798.34) = size 53.57 angle 285.26
(3601.15,1391.04) = size 53.57 angle 244.02
(2583.71,781.75) = size 64.28 angle 13.82
(3722.11,584.76) = size 64.28 angle 302.43
(4678.04,798.34) = size 64.28 angle 293.37
(3516.00,3100.45) = size 77.14 angle 31.28
(2585.36,783.82) = size 77.14 angle 5.31
(3722.53,584.76) = size 77.14 angle 293.61
(3517.49,3096.47) = size 92.57 angle 28.47
(1221.27,2290.25) = size 92.57 angle 187.33
(2375.65,1329.36) = size 111.08 angle 52.07

In the above, you set the ORB to generate the top 30 keypoints when you created the detector. By default, this number will be 500.

The detector returns a list of keypoints and a numpy array of descriptors (feature vector of each keypoint) exactly as before. However, the descriptors of each keypoint are now of length-32 instead of 128.

The generated keypoints are as follows:

image.png

You can see, keypoints are generated roughly at the same location. The results are not exactly the same because there are overlapping keypoints (or offset by a very small distance) and easily the ORB algorithm reached the maximum count of 30. Moreover, the size are not comparable between different algorithms.

Summary¶

In this tutorial, you learned how to apply OpenCV’s keypoint detection algorithms, SIFT, SURF, and ORB.

Specifically, you learned:

  • What is a keypoint in an image
  • How to find the keypoints and the associated description vectors using OpenCV functions.